Create a first Maven 4 test case #2057
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview
This PR adds a comprehensive Maven 4 test case to demonstrate that m2e currently does not support Maven 4 features and to provide a validation target for future Maven 4 support implementation.
What's Added
Maven4Test.java
A new JUnit test class in
org.eclipse.m2e.core.testswith two test methods:testMaven4BasicProject()- Attempts to import a Maven 4 multi-module project with subprojectstestMaven4ModelVersion()- Tests parsing of Maven 4.1.0 model versionThese tests are expected to fail with the current m2e (which only supports Maven 3) and will pass once Maven 4 support is implemented. This serves two purposes:
HelloMaven4 Test Project
A demonstration Maven 4 project in
resources/projects/HelloMaven4/that showcases real-world Maven 4 features:Maven 4 Features Demonstrated:
<modelVersion>4.1.0</modelVersion>and the newxmlns="http://maven.apache.org/POM/4.1.0"namespace<subprojects>element instead of<modules><groupId>and<version>tags, inheriting them from the parentmaven.compiler.releaseproperty (partially demonstrated)Project Structure:
The project includes:
GreetingServicelibrary inhello-coreHelloWorldAppapplication inhello-appthat depends onhello-coreBased On
This implementation follows the real-world Maven 4 usage from the jline3 project, as requested in the issue.
Goals
As outlined in the issue, this PR achieves:
References
Fixes #ISSUE_NUMBER
Warning
Firewall rules blocked me from connecting to one or more addresses (expand for details)
I tried to connect to the following addresses, but was blocked by firewall rules:
cbi.eclipse.orgcurl -o org/fusesource/jansi/internal/native/Mac/arm64/libjansi.jnilib -F file=@org/fusesource/jansi/internal/native/Mac/arm64/libjansi.jnilib-tosign REDACTED(dns block)curl -o org/fusesource/jansi/internal/native/Mac/x86/libjansi.jnilib -F file=@org/fusesource/jansi/internal/native/Mac/x86/libjansi.jnilib-tosign REDACTED(dns block)curl -o org/fusesource/jansi/internal/native/Mac/x86_64/libjansi.jnilib -F file=@org/fusesource/jansi/internal/native/Mac/x86_64/libjansi.jnilib-tosign REDACTED(dns block)repo.eclipse.org/usr/lib/jvm/temurin-21-jdk-amd64/bin/java --enable-native-access=ALL-UNNAMED -classpath /usr/share/apache-maven-3.9.11/boot/plexus-classworlds-2.9.0.jar -Dclassworlds.conf=/usr/share/apache-maven-3.9.11/bin/m2.conf -Dmaven.home=/usr/share/apache-maven-3.9.11 -Dlibrary.jansi.path=/usr/share/apache-maven-3.9.11/lib/jansi-native -Dmaven.multiModuleProjectDirectory=/home/REDACTED/work/m2e-core/m2e-core org.codehaus.plexus.classworlds.launcher.Launcher clean compile -pl org.eclipse.m2e.core.tests -am(dns block)If you need me to access, download, or install something from one of these locations, you can either:
Original prompt
Fixes #2056
💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click here to start the survey.